//#define _CRT_SECURE_NO_WARNINGS 1
//#include"SList.h"
//
//SLTNode* BuyListNode(SLTDateType x)
//{
//	SLTNode* newnode = (SLTNode*)malloc(sizeof(SLTNode));
//	newnode->data = x;
//	newnode->next = NULL;
//	return newnode;
//}
//
//void SListPushBack(SLTNode** pphead, SLTDateType x)
//{
//	assert(pphead);
//	SLTNode* newnode = BuyListNode(x);
//	SLTNode* tail = *pphead;
//	if (*pphead == NULL)
//	{
//		*pphead = newnode;
//	}
//	else
//	{
//		while (tail->next != NULL)
//		{
//			tail = tail->next;
//		}
//		tail->next = newnode;
//	}
//}
//
//void SListPushFront(SLTNode** pphead, SLTDateType x)
//{
//	assert(pphead);
//	SLTNode* newnode = BuyListNode(x);
//	newnode->next = *pphead;
//	*pphead = newnode;
//}
//
//void SListPopBack(SLTNode** pphead)
//{
//	assert(pphead);
//	if ((*pphead)->next == NULL)
//	{
//		free(*pphead);
//		*pphead = NULL;
//	}
//	else
//	{
//		SLTNode* prev = NULL;
//		SLTNode* cur = *pphead;
//		while (cur->next != NULL)
//		{
//			prev = cur;
//			cur = cur->next;
//		}
//		prev->next = cur->next;
//		free(cur);
//		cur = prev->next;
//	}
//}
//
//void SListPopFront(SLTNode** pphead)
//{
//	assert(pphead);
//	if (*pphead == NULL)
//	{
//		return;
//	}
//	else
//	{
//		SLTNode* next = (*pphead)->next;
//		free(*pphead);
//		*pphead = next;
//	}
//}
//
//SLTNode* SListFind(SLTNode* phead, SLTDateType x)
//{
//	SLTNode* cur = phead;
//	while (cur)
//	{
//		if (cur->data == x)
//		{
//			return cur;
//		}
//		else
//		{
//			cur = cur->next;
//		}
//	}
//	return NULL;
//}
//
//void SListInset(SLTNode** pphead, SLTNode* pos, SLTDateType x)
//{
//	assert(pphead);
//	SLTNode* newnode = BuyListNode(x);
//	SLTNode* prev = *pphead;
//	if ((*pphead) == pos)
//	{
//		newnode->next = pos;
//		*pphead = newnode;
//	}
//	else 
//	{
//		while (prev->next != pos)
//			{
//				prev = prev->next;
//			}
//		prev->next = newnode;
//		newnode->next = pos;
//	}
//	
//}
//
//void SListInsetBack(SLTNode** pphead, SLTNode* pos, SLTDateType x)
//{
//	assert(pphead);
//	SLTNode* newnode = BuyListNode(x);
//	newnode->next = pos->next;
//	pos->next = newnode;
//}
//
//void SListEarse(SLTNode** pphead, SLTNode* pos)
//{
//	assert(pphead);
//	if ((*pphead) == pos)
//	{
//		SListPopFront(pphead);
//	}
//	else
//	{
//		SLTNode* prev = *pphead;
//		while (prev->next != pos)
//		{
//			prev = prev->next;
//		}
//		prev->next = pos->next;
//		free(pos);
//		pos = NULL;
//	}
//}
//
//void SListEarseBack(SLTNode* pos)
//{
//	assert(pos->next);
//	SLTNode* next = pos->next;
//	pos->next = next->next;
//	//free(next);
//	next = NULL;
//}
//
//void SListPrint(SLTNode* phead)
//{
//	SLTNode* cur = phead;
//	while (cur != NULL)
//	{
//		printf("%d->", cur->data);
//		cur = cur->next;
//	}
//	printf("NULL\n");
//}
//
//void SListDestroy(SLTNode** pphead)
//{
//	assert(pphead);
//	SLTNode* cur = *pphead;
//	while (cur)
//	{
//		SLTNode* next = cur->next;
//		free(cur);
//		cur = next;
//	}
//	*pphead = NULL;
//}
//
